/*
 * EstoqueComponenteDao.java
 * 
 * Created on 08/09/2007, 12:04:33
 * 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package tcc.dao.estoque;

import java.io.Serializable;
import java.util.List;
import javax.persistence.PersistenceUnit;
import javax.persistence.Query;
import tcc.dao.AbstractDao;
import tcc.dao.Criteria;
import tcc.domain.estoque.componente.ItemEstoqueComponente;
import tcc.domain.produto.Componente;
import tcc.util.PersistenceUtil;


public class ItemEstoqueComponenteDao extends AbstractDao{

    
    public void delete(ItemEstoqueComponente o) {
        super.delete(o);
    }

    
    public List<ItemEstoqueComponente> find(Criteria c) {
        return super.find(ItemEstoqueComponente.class, c);
    }

    public List<ItemEstoqueComponente> findAll() {
    return find(null);
    }
    
    public ItemEstoqueComponente findById(Serializable id) {
        return super.findById(ItemEstoqueComponente.class, id);
    }

    public  ItemEstoqueComponente findByComponente(Componente comp) {
        String queryString = new StringBuilder("from ")
                .append(ItemEstoqueComponente.class)
                .append(" where componente = :comp")
                .toString();
        
        Query q = PersistenceUtil.getInstance().getEntityManager().createQuery(queryString);
        q.setParameter("comp", comp);
        
        return (ItemEstoqueComponente) q.getSingleResult();
        
    }

    @Override
    protected void save(Object o) {
        super.save(o);
    }
    
}
